home *** CD-ROM | disk | FTP | other *** search
- {\rtf0\ansi{\fonttbl\f0\fmodern Courier;\f1\ftech Symbol;\f2\fmodern Ohlfs;}
- \margl40
- \margr40
- {\colortbl;\red0\green0\blue0;}
- \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 //—————————————————————————————————————————————————————————————————————————————\
- //
- \i
- \b FILENAME
- \b0 :
- \b\i0 eTApp.h \
-
- \b0 //
- \i
- \b SUMMARY
- \b0 :
- \b\i0 Header for the eTApp class, the abstract application controller
- \b0 \
- //
- \b\i SUPERCLASS
- \b0 :
- \i0
- \b Object:eTApp
- \b0 \
- //
- \b\i PROTOCOLS
- \b0 :
- \i0
- \b None
- \b0 \
- //
- \b\i INTERFACE
- \b0 :
- \i0
- \b None
- \b0 \
- //
- \b\i AUTHOR
- \b0 :
- \b\i0 Rohit Khare
- \b0 \
- //
- \b\i COPYRIGHT
- \b0 :
- \f1\i0 ½
- \f0\b 1993,94 California Institure of Technology, eText Project\
-
- \b0 //—————————————————————————————————————————————————————————————————————————————\
- //
- \b\i Description
- \b0\i0 \
- // The eTApp class is the abstract application controller. It contains the\
- // core methods for managing documents and intialization. It does NOT manage\
- // any of the application's user interface, nor is it designed to be AppKit-\
- // dependent (e.g. it is not the delegate of any AppKit classes).\
- //\
- // At creation, eTApp is responsible for loading several classes and\
- // publishing global objects. During execution, it mainly issues requests\
- // to open documents from disk. When the application quits, eTApp coordinates\
- // with eTAppUI to ensure a graceful shutdown.\
- //—————————————————————————————————————————————————————————————————————————————\
- //
- \b\i History
- \b0\i0 \
- // 09/21/94:
- \b Revamped for eText5; cleanup.
- \b0 \
- // 01/24/94:
- \b Navigator support, including preloading of etfd documents
- \b0 \
- // 01/11/94:
- \b Revamped for the eText4 tree
- \b0 \
- // 09/09/93:
- \b Added support for -uniqueID. This is an App-wide service.
- \b0 \
- // 08/22/93:
- \b Moved "Accessor Methods" to eTDoc
- \b0 \
- // 08/22/93:
- \b Added - loadToolFromPath; Added "Accessor Methods"\
-
- \b0 // 08/16/93:
- \b Created. Assumes other classes defined in eText.h
- \b0 \
- //—————————————————————————————————————————————————————————————————————————————\
- //
- \b Imported Interfaces
- \b0 \
- //\
- #import "
- \b eTextKernel.h
- \b0 "\
- #import "
- \b eTAppUI.h
- \b0 "\
- \
- //—————————————————————————————————————————————————————————————————————————————\
- //
- \b Global Object Handles
- \b0 \
- //\
- extern
- \b id
- \b0 /* eTApp */
- \b etApp
- \b0 ;\
- extern
- \b id
- \b0 /* eTAppUI */
- \b etAppUI
- \b0 ;\
- extern
- \b id
- \b0 /* Inspector */
- \b inspector
- \b0 ;\
- extern
- \b id
- \b0 /* UserModel */
- \b userModel
- \b0 ;\
- extern
- \b id
- \b0 /* Navigator */
- \b navigator
- \b0 ;\
- \
-
- \i @interface eTApp:Object
- \i0 \{\
- //—————————————————————————————————————————————————————————————————————————————\
- //
- \b Instance Variables
- \b0 \
- //\
- HashTable *
- \b docTable
- \b0 ; // Maps docIDs to open doc objects\
- HashTable *
- \b agentTable
- \b0 ; // Maps agent's name to factory classes\
- HashTable *
- \b annotationTable
- \b0 ; // ditto for annotations\
- HashTable *
- \b typesTable
- \b0 ; // registerForType:\
- NXAtom
- \b typesList
- \b0 [
- \fc1\cf1 MAX_PBOARD_TYPES
- \fc0\cf0 ]; // backup list of typesTable.\
- \}\
- \
- //—————————————————————————————————————————————————————————————————————————————\
- //
- \b Class Management
- \b0 \
- //\
- -
- \b init
- \b0 ;\
- -
- \b free
- \b0 ;\
- \
- //—————————————————————————————————————————————————————————————————————————————\
- //
- \b Registration & Lookup
- \b0 \
- //\
- -
- \b registerType
- \b0 :(NXAtom)
- \b pbType\
- for
- \b0 :(id)
- \b factoryClass
- \b0 ;\
- \
- -
- \b registerAgent
- \b0 :(id)
- \b factoryClass
- \b0 \
-
- \b name
- \b0 :(NXAtom)
- \b name
- \b0 \
-
- \b menuLabel
- \b0 :(NXAtom)
- \b label
- \b0 \
-
- \b menuKey
- \b0 :(char)
- \b key
- \b0 ;\
- \
- -
- \b registerAnnotation
- \b0 :(id)
- \b factoryClass
- \b0 \
-
- \b name
- \b0 :(NXAtom)
- \b name
- \b0 \
-
- \b RTFDirective
- \b0 :(NXAtom)
- \b directive
- \b0 \
-
- \b menuLabel
- \b0 :(NXAtom)
- \b label
- \b0 \
-
- \b menuKey
- \b0 :(char)
- \b key
- \b0 \
-
- \b menuIcon
- \b0 :(NXImage*)
- \b icon
- \b0 ;\
- \
- -
- \b registerAccessory
- \b0 :(NXAtom)
- \b menuLabel
- \b0 \
-
- \b key
- \b0 :(char)
- \b key
- \b0 \
-
- \b name
- \b0 :(NXAtom)
- \b name
- \b0 \
-
- \b target
- \b0 :(id)
- \b theTarget
- \b0 \
-
- \b action
- \b0 :(SEL)
- \b theAction
- \b0 ;\
- \
- -
- \b annotationByName
- \b0 :(NXAtom)
- \b name
- \b0 ;\
- -
- \b agentByName
- \b0 :(NXAtom)
- \b name
- \b0 ;\
- \
- //—————————————————————————————————————————————————————————————————————————————\
- //
- \b Document Management (by docID)
- \b0 \
- //\
- -
- \b openID
- \b0 :(long)
- \b docID
- \b0 ;\
- -
- \b closeID
- \b0 : (long)
- \b docID
- \b0 ;\
- - (long)
- \b createID
- \b0 ;\
- -
- \b documentByID
- \b0 : (long)
- \b docID
- \b0 ;\
- \
- //—————————————————————————————————————————————————————————————————————————————\
- //
- \b Global Operations
- \b0 \
- //\
- -
- \b saveAll
- \b0 ;\
- -
- \b shutdown
- \b0 :(BOOL)
- \b cancellable
- \b0 ;\
- \
- //—————————————————————————————————————————————————————————————————————————————\
- //
- \b Private Methods (for eTAppUI only)
- \b0 \
- //\
- - (NXAtom*)
- \b typesList
- \b0 ;\
- -
- \b annotationByPboard
- \b0 :
- \b thePboard
- \b0 ;\
- - (BOOL)
- \b validateSaveAll
- \b0 ;\
- -
- \b loadToolFromPath
- \b0 :(const char*)
- \b path
- \b0 ;\
- -
- \b loadDocInfoFromPath
- \b0 :(const char*)
- \b path
- \b0 ;\
- \
-
- \i @end
- }
-